using System;
using Jandaya.Framework;

namespace Jandaya.Framework.Core
{
	/// <summary>
	/// Os dados do tipo de telefone são fixos e seguem a seguinte tabela:
	///    0 - Comercial
	///    1 - Residencial
	///    2 - Recados
	///    3 - Celular
	///    4 - Pager
	/// </summary>
	public class TipoDeTelefone: JandayaObject
	{		
		private OID _ID = new OID();
		public new OID ID{
			get { return _ID; }
			set{
				if ((value.Value < 0) || (value.Value > 4)) 
					throw new ArgumentOutOfRangeException("O código do tipo de telefone ({0}) é inválido!", value.Value.ToString("0"));
			    _ID = value;
			}
		}
		
			
		/// <summary>
		/// Gets the name of the Address Type
		/// </summary>
		public string Nome{
			get{
				switch(ID.Value){
					case 0: return "Comercial"; 
					case 1: return "Residencial";
					case 2: return "Recados"; 
					case 3: return "Celular";
					case 4: return "Pager";
				default: return string.Empty;
				}				
			}
		}		
		
		public TipoDeTelefone (){}
		
		public TipoDeTelefone(Int64 pCodigo){
			_ID.Value = pCodigo;
		}
	}
}

